perm filename ANT.INF[ALF,DEK] blob sn#583335 filedate 1981-05-03 generic text, type T, neo UTF8
.ANT = Alphatype Font File, used by Alphaspool server (ZALF) and
	by the Alphahost converter (DVIALF).

Due to hardware considerations, each character in an Alphatype Font File might
be composed of many smaller pieces, each of which is called a sub-glyph.

All words of .ANT files are in 32-bit format, with the four low-order
bits zero on 36-bit machines.

The beginning of the file contains the encoded font information for the
individual sub-glyphs; this information is passed by ZALF to the Alphatype
when given its starting address in the file and the number of bytes.
A few words of garbage may come at the end of all this sub-glyph information
so that an even number of disk blocks appears in the first part of the file.

The remainder of an .ANT file is a directory; this directory is, in fact, the
only part of the .ANT file that DVIALF reads. It is convenient to think of
the directory as if it were a separate file, so we shall call the directory
an ".AFT" file (even though it is really just the tail end of an .ANT file).

The first 128 words (numbers 0 to 127) in the .AFT file contain, in their
leftmost bit, 0 or 1, according as that character can be typeset in both
directions or only from left-to-right. The next 15 bits contain the number n
of sub-glyphs that comprise the appropriate character. Most characters, of
course, will have n=1 since they won't be broken. The other 16 bits contain
the word number (relative to the beginning of the .AFT file) of the first
of n Sub-Glyph Descriptors that occur later in the .AFT file.

The next 128 words (numbers 128 to 255) contain the character widths, exactly
as in the .TFM file, i.e., as signed 32-bit numbers in units of 2↑(-20) ems.
Note that a character might have nonzero width even though it has no sub-glyphs.

Following word 255 come the Sub-Glyph Descriptors of five words each.
The first word has the offset of the reference point of the sub-glyph
relative to the reference point of the character it is part of; the x-offset
goes in the left half-word and y-offset in the right, where x-offset is in units
of du to the right of the reference point and y-offset is in units of fu
below the reference point. Both are signed 16-bit integers.
The second word has the "leftmost bit position" in its first 11 bits, the
"rightmost bit position" in the next 11 bits, and the "byte times" in the
remaining 10 bits. The third word has the number of font data bytes in its
first 11 bits, and the remaining 21 bits point to the beginning word of
font data for this sub-glyph in the .ANT file. The fourth and fifth words
are zero; they are used by DVIALF to optimize its output. All five words should
be zero if and only if the `byte times' field is zero if and only if the
`number of data bytes' field is zero.

After all of the Sub-Glyph Descriptors, the next word is the checksum, which
should match the checksum in any .DVI file that refers to this font (otherwise
TEX prepared the .DVI file under the wrong assumptions). However, if this
word is zero, no validity check will be made.

The next word is an integer representing 1000 times the magnification factor at
which this font was produced. The character widths have not been inflated by
this factor. If the magnification factor is XXXX, the font extension will be
XXXXANT on operating systems that support this. (Otherwise, e.g. on SAIL,
there will be only one ANT file per font, and it will have the maximum
magnification, which had better not be too much; SAIL is not going to have
many ANT files anyway, except for program development.)

The next word is made up of two sixteen-bit fields called A (high order)
and B (low order), containing the 11-bit multipliers for the CRS to use
when typesetting at the stated magnification. METAFONT always makes A=1365
and B=2047, but other kinds of fonts might use different settings.

Then comes a word containing the designsize (just as in the TFM file,
in units of 2↑(-20) unmagnified points).

Following the checksum and these other three items, the final word of the file
is the word number of the first word of the .AFT file.